package CommonTools;

import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JPanel;
import javax.swing.BorderFactory;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

/**
 * Вспомогательные функции для работы с окнами и оформлением
 *
 * @author Salnikov Aleksey
 */

public class DesignTools {

    /**
     * Метод добавляет к панели заголовок
     * @param panel панель
     * @param title заголовок
     */
    public static void addPanelTitle(JPanel panel, String title)
    {
        panel.setBorder(BorderFactory.createTitledBorder(title));
    }

    /**
     * Метод отображает на экране пользователя сообщение
     *
     * @param title строка с заголовком сообщения
     * @param body строка с основным текстом сообщения
     * @param information логическая переменная. Если true, то будет выведено информационное сообщение, иначе - сообщение об ошибке.
     */
    public static void showMessage(String title, String body, boolean information)
    {
       int i;
       if (information)
           i = JOptionPane.INFORMATION_MESSAGE;
       else
           i = JOptionPane.ERROR_MESSAGE;
       JOptionPane.showMessageDialog(null, body, title, i);
    }

    public static void centeredWindow(JFrame frame)
    {
        Toolkit tool = Toolkit.getDefaultToolkit();
        Dimension d = tool.getScreenSize();

        frame.setLocation((int)((d.getWidth() - frame.getWidth())/2), (int) ((d.getHeight() - frame.getHeight())/2));
    }

    public static void centeredWindow(JDialog frame)
    {
        Toolkit tool = Toolkit.getDefaultToolkit();
        Dimension d = tool.getScreenSize();

        frame.setLocation((int)((d.getWidth() - frame.getWidth())/2), (int) ((d.getHeight() - frame.getHeight())/2));
    }

}
